package 孩子们的游戏;

import java.util.LinkedList;
import java.util.Queue;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * @param n int整型
     * @param m int整型
     * @return int整型
     */
    public int LastRemaining_Solution(int n, int m) {
        Queue<Integer> q = new LinkedList<>();
        for (int i = 0; i < n; i++) {
            q.offer(i);
        }
        int t = 0;
        while (q.size() > 1) {
            int tmp = q.poll();
            if (t == m - 1) {
                t = 0;
            } else {
                t++;
                q.offer(tmp);
            }
        }
        return q.poll();
    }
}